import {resolve} from 'path'
import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'

import Components from 'unplugin-vue-components/vite'
import {ElementPlusResolver} from 'unplugin-vue-components/resolvers'
import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'
import vueSetupExtend from 'vite-plugin-vue-setup-extend'

// 参考：https://cn.vitejs.dev/config/
export default defineConfig({
    base: './',
    resolve: {
        // 配置别名
        alias: {
            '@': resolve(__dirname, './src'),
            'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js'
        }
    },
    plugins: [
        vue(),
        vueSetupExtend(),
        Components({
            resolvers: [
                ElementPlusResolver({
                    importStyle: 'sass'
                })
            ]
        }),
        createSvgIconsPlugin({
            iconDirs: [resolve(__dirname, 'src/icons/svg')],
            symbolId: 'icon-[dir]-[name]'
        })
    ],
    server: {
        host: '0.0.0.0',
        port: 50002, // 端口号
        open: false, // 是否自动打开浏览器
        proxy: {
            '/api': { // 匹配请求路径，localhost:3000/snow
                // target: 'http://localhost:50001/design', // 代理的目标地址
                target: 'http://localhost:50001', // 代理的目标地址
                changeOrigin: true, // 开发模式，默认的origin是真实的 origin:localhost:3000 代理服务会把origin修改为目标地址
                // secure: true, // 是否https接口
                // ws: true, // 是否代理websockets
                // rewrite target目标地址 + '/abc'，如果接口是这样的，那么不用重写
                rewrite: path => path.replace(/^\/api/, '') // 路径重写，本项目不需要重写
            }
        }
    },
    build: {
        // assetsInlineLimit: 0,
        // cssCodeSplit: false
    }
})
